QString gs_get_container(geocache_container t);
QString xml_entitize(const QString& str);
QString html_entitize(const QString& str);
-char* strip_html(const utf_string*);
-char* strip_nastyhtml(const QString& in);
+QString strip_html(const utf_string*);
+QString strip_nastyhtml(const QString& in);
QString convert_human_date_format(const char* human_datef); /* "MM,YYYY,DD" -> "%m,%Y,%d" */
QString convert_human_time_format(const char* human_timef); /* "HH+mm+ss" -> "%H+%M+%S" */
QString pretty_deg_format(double lat, double lon, char fmt, const char* sep, bool html); /* decimal -> dd.dddd or dd mm.mmm or dd mm ss */
gbfprintf(file_out, "<tr><td colspan=\"2\">");
if (!wpt->gc_data->desc_short.utfstring.isEmpty()) {
- char* tmpstr = strip_nastyhtml(wpt->gc_data->desc_short.utfstring);
- gbfprintf(file_out, "<p class=\"gpsbabeldescshort\">%s</p>\n", tmpstr);
- xfree(tmpstr);
+ gbfputs(QStringLiteral("<p class=\"gpsbabeldescshort\">%1</p>\n")
+ .arg(strip_nastyhtml(wpt->gc_data->desc_short.utfstring)),
+ file_out);
}
if (!wpt->gc_data->desc_long.utfstring.isEmpty()) {
- char* tmpstr = strip_nastyhtml(wpt->gc_data->desc_long.utfstring);
- gbfprintf(file_out, "<p class=\"gpsbabeldesclong\">%s</p>\n", tmpstr);
- xfree(tmpstr);
+ gbfputs(QStringLiteral("<p class=\"gpsbabeldesclong\">%1</p>\n")
+ .arg(strip_nastyhtml(wpt->gc_data->desc_long.utfstring)),
+ file_out);
}
if (!wpt->gc_data->hint.isEmpty()) {
QString hint;
return result;
}
-char*
-OsmFormat::osm_strip_html(const char* str)
-{
- utf_string utf(true, str);
- return strip_html(&utf); // util.cc
-}
-
QString
OsmFormat::osm_strip_html(const QString& str)
{
- char* r = osm_strip_html(CSTR(str));
- QString rv(r);
- xfree(r);
- return rv;
+ utf_string utf(true, str);
+ return strip_html(&utf); // util.cc
}
void
.arg((wpt->gc_data->terr%10) ? ".5" : ""),
file_out);
if (!wpt->gc_data->desc_short.utfstring.isEmpty()) {
- char* stripped_html = strip_html(&wpt->gc_data->desc_short);
- gbfprintf(file_out, "\n%s\n", stripped_html);
- xfree(stripped_html);
+ gbfputs(QStringLiteral("\n%1\n").arg(strip_html(&wpt->gc_data->desc_short)), file_out);
}
if (!wpt->gc_data->desc_long.utfstring.isEmpty()) {
- char* stripped_html = strip_html(&wpt->gc_data->desc_long);
- gbfprintf(file_out, "\n%s\n", stripped_html);
- xfree(stripped_html);
+ gbfputs(QStringLiteral("\n%1\n").arg(strip_html(&wpt->gc_data->desc_long)), file_out);
}
if (!wpt->gc_data->hint.isEmpty()) {
QString hint;
* </body> and </html>- stop processing altogether
* <style> </style> - stop overriding styles for everything
*/
-char*
+QString
strip_nastyhtml(const QString& in)
{
char* returnstr;
*lcp = '*';
}
xfree(lcstr);
- return (returnstr);
+ QString rv(returnstr);
+ xfree(returnstr);
+ return rv;
}
/*
* pleasant for a human reader. Yes, this falls down in all kinds of
* ways such as spaces within the tags, etc.
*/
-char*
+QString
strip_html(const utf_string* in)
{
#if 0
// or just say we don't do that any more.
QTextDocument doc;
doc.setHtml(in->utfstring);
- return xstrdup(CSTR(doc.toPlainText().simplified()));
+ return doc.toPlainText().simplified();
#else
+ if (!in->is_html) {
+ return in->utfstring;
+ }
+
char* out;
char* instr;
char tag[8];
unsigned short int taglen = 0;
char* incopy = instr = xstrdup(in->utfstring);
- if (!in->is_html) {
- return instr;
- }
/*
* We only shorten, so just dupe the input buf for space.
*/
instr++;
}
*out++ = 0;
- if (incopy) {
- xfree(incopy);
- }
- return (outstring);
+ xfree(incopy);
+ QString rv(outstring);
+ xfree(outstring);
+ return rv;
#endif
}
return;
}
- char *string = strip_html(s);
- QString stripped_html = string;
- xfree(string);
+ QString stripped_html = strip_html(s);
stripped_html.replace("\n", "\\n", Qt::CaseInsensitive);
stripped_html.replace("<p>", "\\n", Qt::CaseInsensitive);